#ifndef OCKVPAIR_H_INCLUDED
#define OCKVPAIR_H_INCLUDED

#include "octaskrange.h"

typedef struct
{
    void *key;
    void *value;
}oc_key_val_pair_t;

static inline
void oc_key_val_pair_set ( oc_key_val_pair_t * kvpair,
                            void * key,
                            void * value )
{
    kvpair->key = key;
    kvpair->value = value;
}

static inline
void * oc_key_val_pair_get_key ( oc_key_val_pair_t * kvpair )
{
    return kvpair->key;
}

static inline
void * oc_key_val_pair_get_value ( oc_key_val_pair_t * kvpair )
{
    return kvpair->value;
}
/*
static inline
void oc_key_val_pair_generate ( oc_task_range_t *task_range,
                                gulong         i,
                                void            *key,
                                void            *value      )
{
    oc_key_val_pair_t *kvpair = g_slice_alloc ( sizeof ( oc_key_val_pair_t ) );
    oc_key_val_pair_set (   kvpair,
                            key,
                            value );
    oc_task_range_set_task ( task_range, i, ( gpointer ) kvpair );
}

void oc_key_val_pair_destroy ( oc_task_range_t *task_dir,
                                gulong     i       )
{
    oc_key_val_pair_t *kvpair = ( oc_key_val_pair_t * ) oc_task_range_get_task ( task_range, i );
    g_slice_free1 ( sizeof ( oc_key_val_pair_t ), kvpair );
}
*/
#endif // OCKVPAIR_H_INCLUDED
